home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / CMAcceleration.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  3.9 KB  |  121 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        CMAcceleration.p
  3.  
  4.      Contains:    ColorSync 2.0 Acceleration Component Interfaces
  5.  
  6.      Version:    Technology:    ColorSync 2.0
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1995, 1997 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT CMAcceleration;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __CMACCELERATION__}
  28. {$SETC __CMACCELERATION__ := 1}
  29.  
  30. {$I+}
  31. {$SETC CMAccelerationIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __COMPONENTS__}
  35. {$I Components.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __CMAPPLICATION__}
  38. {$I CMApplication.p}
  39. {$ENDC}
  40.  
  41.  
  42. {$PUSH}
  43. {$ALIGN MAC68K}
  44. {$LibExport+}
  45.  
  46. {  –––––––––––––––––––––––––––––––––––––– version info  }
  47.  
  48. CONST
  49.     cmAccelerationInterfaceVersion = 1;
  50.  
  51. {  –––––––––––––––––––––––––––––––––––––– Component Type  }
  52.     cmAccelerationComponentType    = 'csac';
  53.  
  54. {  –––––––––––––––––––––––––––––––––––––– Required Component function selectors  }
  55.     cmLoadTables                = 0;
  56.     cmCalculateData                = 1;
  57.  
  58. {  –––––––––––––––––––––––––––––––––––––– table data for acceleration component  }
  59.  
  60. TYPE
  61.     CMAccelerationTableDataPtr = ^CMAccelerationTableData;
  62.     CMAccelerationTableData = RECORD
  63.         inputLutEntryCount:        LONGINT;                                {  count of entries for input lut for one dimension }
  64.         inputLutWordSize:        LONGINT;                                {  count of bits of each entry ( e.g. 16 for WORD ) }
  65.         inputLut:                Handle;                                    {  handle to input lut }
  66.         outputLutEntryCount:    LONGINT;                                {  count of entries for output lut for one dimension     }
  67.         outputLutWordSize:        LONGINT;                                {  count of bits of each entry ( e.g. 8 for BYTE ) }
  68.         outputLut:                Handle;                                    {  handle to output lut }
  69.         colorLutInDim:            LONGINT;                                {  input dimension  ( e.g. 3 for LAB ; 4 for CMYK ) }
  70.         colorLutOutDim:            LONGINT;                                {  output dimension ( e.g. 3 for LAB ; 4 for CMYK ) }
  71.         colorLutGridPoints:        LONGINT;                                {  count of gridpoints for color lut ( for one Dimension )     }
  72.         colorLutWordSize:        LONGINT;                                {  count of bits of each entry ( e.g. 8 for BYTE ) }
  73.         colorLut:                Handle;                                    {  handle to color lut }
  74.         inputColorSpace:        CMBitmapColorSpace;                        {  packing info for input }
  75.         outputColorSpace:        CMBitmapColorSpace;                        {  packing info for output }
  76.         userData:                Ptr;
  77.         reserved1:                LONGINT;
  78.         reserved2:                LONGINT;
  79.         reserved3:                LONGINT;
  80.         reserved4:                LONGINT;
  81.         reserved5:                LONGINT;
  82.     END;
  83.  
  84.     CMAccelerationTableDataHdl            = ^CMAccelerationTableDataPtr;
  85. {  –––––––––––––––––––––––––––––––––––––– calc data for acceleration component  }
  86.     CMAccelerationCalcDataPtr = ^CMAccelerationCalcData;
  87.     CMAccelerationCalcData = RECORD
  88.         pixelCount:                LONGINT;                                {  count of input pixels }
  89.         inputData:                Ptr;                                    {  input array }
  90.         outputData:                Ptr;                                    {  output array }
  91.         reserved1:                LONGINT;
  92.         reserved2:                LONGINT;
  93.     END;
  94.  
  95.     CMAccelerationCalcDataHdl            = ^CMAccelerationCalcDataPtr;
  96. {
  97.    ———————————————————————————————————————————————————————————————————————————————————————————————— 
  98.                   A c c e l e r a t i o n   C o m p o n e n t   I n t e r f a c e s
  99.    ———————————————————————————————————————————————————————————————————————————————————————————————— 
  100. }
  101. FUNCTION CMAccelerationLoadTables(CMSession: ComponentInstance; tableData: CMAccelerationTableDataPtr): CMError;
  102.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  103.     INLINE $2F3C, $0004, $0000, $7000, $A82A;
  104.     {$ENDC}
  105.  
  106. FUNCTION CMAccelerationCalculateData(CMSession: ComponentInstance; calcData: CMAccelerationCalcDataPtr): CMError;
  107.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  108.     INLINE $2F3C, $0004, $0001, $7000, $A82A;
  109.     {$ENDC}
  110.  
  111. {$ALIGN RESET}
  112. {$POP}
  113.  
  114. {$SETC UsingIncludes := CMAccelerationIncludes}
  115.  
  116. {$ENDC} {__CMACCELERATION__}
  117.  
  118. {$IFC NOT UsingIncludes}
  119.  END.
  120. {$ENDC}
  121.